.lf-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); } .lf-header h2 { font-size: 1.05rem; font-weight: 700; } .lf-subtitle { font-size: 0.85rem; color: var(--text-muted); margin-top: 2px; } .lf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--space-4); } .lf-empty { grid-column: 1 / -1; text-align: center; color: var(--text-muted); font-size: 0.9rem; padding: var(--space-6); border: 1px dashed var(--border-subtle); border-radius: var(--radius-md); } .lf-card { position: relative; background: var(--card-bg); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); display: flex; flex-direction: column; transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast); } .lf-card:has(.lf-card__link:hover) { background: var(--card-bg-hover); transform: translateY(-2px); box-shadow: var(--shadow-md); } .lf-card--draggable { cursor: grab; } .lf-card--dragging { opacity: 0.4; } .lf-card--drop-before, .lf-card--drop-after { position: relative; } .lf-card--drop-before::before, .lf-card--drop-after::after { content: ""; position: absolute; top: 0; bottom: 0; width: 3px; border-radius: var(--radius-sm); background: var(--accent); } .lf-card--drop-before::before { left: -6px; } .lf-card--drop-after::after { right: -6px; } .lf-card__admin { display: flex; align-items: center; gap: var(--space-1); padding: var(--space-2) var(--space-2) 0; } .lf-card__move, .lf-card__remove, .lf-card__favorite { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-sm); color: var(--text-muted); transition: color var(--transition-fast), background var(--transition-fast); } .lf-card__favorite:hover { color: var(--text-primary); background: var(--bg-surface-raised); } .lf-card__favorite.is-active { color: var(--gold-400); } .lf-card__move:hover { color: var(--text-primary); background: var(--bg-surface-raised); } .lf-card__move:disabled { opacity: 0.35; cursor: default; } .lf-card__remove { margin-left: auto; } .lf-card__remove:hover { color: var(--danger); background: var(--bg-surface-raised); } .lf-card__link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-2); text-align: center; padding: var(--space-6) var(--space-4); } .lf-card__icon { width: 115px; height: 115px; object-fit: contain; border-radius: var(--radius-md); } .lf-card__icon--default { color: var(--accent); } .lf-card__label { /* Nome comprido sem espaço (ex.: URL) quebra dentro do cartão. */ max-width: 100%; overflow-wrap: anywhere; font-weight: 600; font-size: 0.78rem; letter-spacing: 0.02em; color: var(--text-primary); }